import {createApp} from "vue";
import CustomLoading from './custom-loading.vue'

export default {
    loading: null,
    // 每当这个插件被添加到应用程序中是,如果它是一个对象,就会调用install方法。若是一个function,则函数本身会被调用
    install(app) {
        if (this.loading) {
            // 防止多次载入
            app.config.globalProperties.$loading = this.loading
            return
        }
        // 创建loading实例,用于挂载
        let instance = createApp(CustomLoading)
        // 创建div元素装载loading对象
        let div = document.createElement('div')
        let body = document.body
        // 导入body中
        body.appendChild(div)
        this.loading = instance.mount(div)
        // 挂载vue身上
        app.config.globalProperties.$loading = this.loading
    }
}
